import axios from "axios";
import qs from "qs";

// 创建axios实例
const instance = axios.create();

// 请求拦截器
instance.interceptors.request.use(function (config) {
	// 在发送请求之前做处理
	if (config.method === 'post') {
		// 判断是否为文件上传（Content-Type为multipart/form-data时不做qs处理）
		const isFormData = config.data instanceof FormData;
		// 非文件上传的post请求才用qs处理
		if (!isFormData) {
			config.data = qs.stringify(config.data);
		}
	}
	return config;
}, function (error) {
	// 对请求错误做处理
	return Promise.reject(error);
});

// 响应拦截器
instance.interceptors.response.use(function (response) {
	// 对响应数据做处理
	return response.data;
}, function (error) {
	// 对响应错误做处理
	return Promise.reject(error);
});

export default instance;